你有在用雲端嗎?
就算是非開發人員,在生活中很有可能不知不覺中已在使用雲端服務。
如使用Google map導航, 信箱收發信件, iCloud備份 iphone與mac, 使用Office 365, Skype
有多少人每個月會繳費給Netflix, Spotify, KKBOX...等影音平台。
如果連非開發人員都離不開雲端應用,那身為開發人員當要善用雲端運算,加速開發應用程式啊
自從amazon 於2006年創立AWS,各家大廠也陸續推出自家的雲端運算平台如 Microsoft Azure, Google GCP這些雲端平台可以幫助開發人員快速打造應用程式。
我們打開GCP官網產品導覽:
再打開Azure官網產品導覽:
可以看到數以百計的雲端服務可以使用,第一次使用雲端的開發者不免眼花料亂,那該如何根據應用程式功能與需求選用來開發呢。
其實大多數雲端運算服務可分為三個基礎結構:
根據了解這些結構可以更快速的選擇符合目標的產品,這些名詞代表什麼我們將在下一小節做介紹。
「IaaS」最基本的雲端運算服務類別。提供硬體資源給客戶,包括:運算 儲存 網路......等
所以,我們可以把雲端運算中心它想像成是一個大型機房跟儲存著巨量資料的資料中心,使用者需要透過網路連入雲端運算中心並使用它提供的硬體資源,像是伺服器與虛擬機器 (VM)、儲存體、網路以及作業系統。
「PaaS」用來開發、測試、傳遞與管理軟體應用程式的環境。簡單來說開發人員可以直接在這個平台上撰寫程式並對外提供服務讓開發人員更輕鬆快速地建立 Web 或行動應用程式,而無須費心設定或管理開發所需伺服器、儲存體、網路與資料庫的基礎結構。
「SaaS」是建立在IaaS 與 PaaS為基礎的應用程式,讓使用者不需要會轉程式寫即可透過網路連接直接使用的雲端式應用程式且通常是以訂閱隨用隨付制加以購買。常見範例為電子郵件、行事曆以及 Office 工具 (例如 Microsoft Office 365)。
IaaS PaaS SaaS分層示意如下圖:
-圖片來源: Microsoft
使用雲端平台的好處在於,開發人員可以省去許多硬體上的基礎建設,管理,與花費,透過租用雲服務即可獲得與Microsoft, Google等大廠相同的基礎設施能力,快速開發自己的應用程式。